Primeiramente, utilizaremos a função head() para ter uma noção das informações contidas no arquivo .tsv escolhido.
df <- read_tsv('2004-2021.tsv')
df %>% head(3)Pode-se obserar algumas informações importantes quanto ao formato:
df <- df %>% tibble()janitor::clean_names() para renomear as colunas em um formato melhor em termos de código, além disso usaremos o mutate() para deixar as informações em caixa baixa.
df <- janitor::clean_names(df)
df <- df %>% mutate(
regiao = str_to_title(regiao),
estado = str_to_title(estado),
produto = str_to_sentence(produto)
)<dbl> estão no formato <chr>, logo utilizando novamente a função mutate, podemos ajustar as informações para o formato correto.
df <- df %>% mutate(
margem_media_revenda = as.double(margem_media_revenda),
preco_medio_distribuicao = as.double(preco_medio_distribuicao),
desvio_padrao_distribuicao = as.double(desvio_padrao_distribuicao),
preco_minimo_distribuicao = as.double(preco_minimo_distribuicao),
preco_maximo_distribuicao = as.double(preco_maximo_distribuicao),
coef_de_variacao_distribuicao = as.double(coef_de_variacao_distribuicao)
)Portanto, após as primeiras impressões, obtemos o seguinte tibble:
É importante verificar a quantidade de NA's em algumas colunas importantes como preço médio de revenda, datas iniciais de análise e localidade.
df %>% group_by(produto) %>% summarize()Entao, realizamos algumas manobras para mudar estes valores:
df <- df %>% mutate(
produto = ifelse(produto == 'Óleo diesel', 'Oleo diesel', produto),
produto = ifelse(produto == 'Óleo diesel s10', 'Oleo diesel s10', produto)
)Tendo em vista que não foram encontrados casos de NA e agora os dados encontram-se bem comportados, partiremos para a análise visual e inferências de alguns comportamentos a fim de responder à algumas questões, como: quais regiões, ou estados possuem os combustíveis históricamente mais caros, mais baratos e existiria algum padrão para isso?
A fim de responder as perguntas anteriores, trabalharemos na visualização e tentaremos traçar alguns padrões de comportamento.
Primeiramente, tentaremos visualizar a distribuição geral das informações contidas na amostra.
df %>% ggplot(
aes(
x = data_inicial,
y = preco_medio_revenda,
color = produto
)) +
geom_point() +
labs(
title = 'Preco medio de revenda dos derivados do petroleo ao longo do tempo',
x = "Data",
y = "Preco medio de revenda (R$)",
color = "Produto"
)Pode-se perceber que o glp no geral apresenta um preço mais elevado, por conta da venda ser realizada em uma unidade de medida diferente, dificultando a comparação com outros produtos. Portanto, vamos ignorá-lo por um momento.
df_sem_glp <- df %>% filter((!produto=='Glp'))
df_sem_glp %>% ggplot(
aes(
x = data_inicial,
y = preco_medio_revenda,
color = regiao,
)) +
geom_point() +
labs(
title = 'Preco medio de revenda dos derivados do petroleo ao longo do tempo',
x = "Data",
y = "Preco medio de revenda (R$)",
color = "Regiao"
)Agora, podemos ver que embora desorganizado, os dados estão distribuídos de forma mais uniforme e podemos utilizar o geom_smooth() para evitar sobrecarga de informações apresentadas.
df_sem_glp %>% ggplot(
aes(
x = data_inicial,
y = preco_medio_revenda,
color = regiao
)) +
geom_smooth() +
labs(
title = 'Preco medio de revenda dos derivados do petroleo ao longo do tempo',
x = "Data",
y = "Preco medio de revenda (R$)",
color = "Regiao"
)Pode-se observar que a região norte possui a maior média de preço de combustíveis, enquanto o sudeste que concentra a produção e refino dos produtos, possui a média mais baixa. Desta forma, pode-se inferir que o fator geográfico envolvido no custo de transporte desses produtos possui uma forte influência no valor de revenda.
Também iremos nos aproximar do sudeste para poder entender um pouco mais da dinâmica de preços em nossa região.
df_sem_glp %>% filter(regiao == 'Sudeste') %>% ggplot(aes(
x = data_inicial,
y = preco_medio_revenda,
color = estado
)) +
geom_smooth() +
labs(
title = 'Preco medio de revenda dos derivados do petroleo ao longo do tempo',
x = "Data",
y = "Preco medio de revenda (R$)",
color = "Regiao"
)Percebe-se que apesar da média da região sudeste ter o menor preço diante de outras, o Rio de Janeiro em especial está bem acima da média da região, fugindo o padrão e se comportando como alguns pontos da região norte e centro oeste.
df_sem_glp %>% filter(regiao != 'Sudeste' | estado == 'Rio De Janeiro') %>% mutate(
regiao = ifelse(regiao != 'Sudeste', regiao, 'Rio de Janeiro')
) %>% ggplot(aes(
x = data_inicial,
y = preco_medio_revenda,
color = regiao
)) +
geom_smooth() +
labs(
title = 'Preco medio de revenda dos derivados do petroleo ao longo do tempo',
x = "Data",
y = "Preco medio de revenda (R$)",
color = "Regiao, ou estado"
)Utilizaremos os histogramas para analisar mais de perto a distribuicao de preco entre a regiao e o estado analisado.
df_sem_glp %>% filter(regiao == 'Sudeste' | regiao == 'Norte', data_inicial > '2019-01-01' & data_inicial < '2020-01-01') %>%
mutate(
regiao = ifelse(estado == 'Rio De Janeiro', 'Rio De Janeiro', regiao)
) %>% ggplot(aes(
x = preco_medio_revenda,
fill = regiao
)) + geom_histogram() +
labs(
title = 'Preco medio de revenda dos derivados do petroleo de 2019',
x = "Preco medio de revenda (R$)",
y = "Quantidade de postos com o preco",
fill = "Regiao, ou estado"
)